Constructing a historical state snapshot over temporally evolving data presents multiple challenges. Existing approaches commonly suffer from conflicting trade-offs between checkpoint overhead costs and replay overhead costs. For example, reducing replay overheads by reducing checkpoint intervals generally leads to increased checkpoint overhead costs, while reducing checkpoint overhead costs by increasing checkpoint intervals generally leads to increased replay overhead costs.